﻿namespace WMS6.Web.BaseInfoDetailServiceRef
{
    using System;
    using System.CodeDom.Compiler;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Runtime.CompilerServices;
    using System.Runtime.Serialization;

    [Serializable, DataContract(Name="SkuInfo", Namespace="http://schemas.datacontract.org/2004/07/WMS6.DataEntity"), DebuggerStepThrough, GeneratedCode("System.Runtime.Serialization", "3.0.0.0")]
    public class SkuInfo : IExtensibleDataObject, INotifyPropertyChanged
    {
        [OptionalField]
        private string AbcField;
        [OptionalField]
        private string AllocateRuleIDField;
        [OptionalField]
        private List<AlternateSkuInfo> AlternateSkuInfosField;
        [OptionalField]
        private string BUdf10Field;
        [OptionalField]
        private string BUdf1Field;
        [OptionalField]
        private string BUdf2Field;
        [OptionalField]
        private string BUdf3Field;
        [OptionalField]
        private string BUdf4Field;
        [OptionalField]
        private string BUdf5Field;
        [OptionalField]
        private string BUdf6Field;
        [OptionalField]
        private string BUdf7Field;
        [OptionalField]
        private string BUdf8Field;
        [OptionalField]
        private string BUdf9Field;
        [OptionalField]
        private string CalculatePutawayLocationField;
        [OptionalField]
        private float CarryCostField;
        [OptionalField]
        private string CartonGroupField;
        [OptionalField]
        private string CcDiscrepanCyruleField;
        [OptionalField]
        private decimal CostPriceField;
        [OptionalField]
        private string CountryOfOriginField;
        [OptionalField]
        private string CreatedByField;
        [OptionalField]
        private DateTime CreatedDateField;
        [OptionalField]
        private float CubeField;
        [OptionalField]
        private string CustomSkuNoField;
        [OptionalField]
        private int CycleCountFrequencyField;
        [OptionalField]
        private int DaysToExpireField;
        [OptionalField]
        private string DefaultInUomField;
        [OptionalField]
        private string DefaultOutUomField;
        [OptionalField]
        private string Descr2Field;
        [OptionalField]
        private string DescrField;
        [NonSerialized]
        private ExtensionDataObject extensionDataField;
        [OptionalField]
        private string FreightClassField;
        [OptionalField]
        private float GrossWgtField;
        [OptionalField]
        private string HazmatCodeField;
        [OptionalField]
        private float HeightField;
        [OptionalField]
        private List<InvSkuLocInfo> InvSkuLocInfosField;
        [OptionalField]
        private string IsActiveField;
        [OptionalField]
        private string IsSalePromptionField;
        [OptionalField]
        private DateTime LastCycleCountField;
        [OptionalField]
        private float LengthField;
        [OptionalField]
        private string LotTemplateIDField;
        [OptionalField]
        private decimal MaxQtyField;
        [OptionalField]
        private decimal MinQtyField;
        [OptionalField]
        private decimal NetPriceField;
        [OptionalField]
        private float NetWgtField;
        [OptionalField]
        private string OwnerIDField;
        [OptionalField]
        private string PackIDField;
        [OptionalField]
        private string PreallocateRuleIDField;
        [OptionalField]
        private string PutawayLocField;
        [OptionalField]
        private string PutawayRuleIDField;
        [OptionalField]
        private string QcLocField;
        [OptionalField]
        private string QcLocOutField;
        [OptionalField]
        private string ReceiptInspectionLocField;
        [OptionalField]
        private string ReceiptValidationIDField;
        [OptionalField]
        private string ReceiptValidationTemplateField;
        [OptionalField]
        private string Remark1Field;
        [OptionalField]
        private string Remark2Field;
        [OptionalField]
        private int ReorderPointField;
        [OptionalField]
        private decimal ReorderQtyField;
        [OptionalField]
        private string ReturnsLocField;
        [OptionalField]
        private string RfDefaultPackField;
        [OptionalField]
        private string RotationRuleIDField;
        [OptionalField]
        private int RowIDField;
        [OptionalField]
        private decimal SalePriceField;
        [OptionalField]
        private string ShelfLifeCodeTypeField;
        [OptionalField]
        private int ShelfLifeField;
        [OptionalField]
        private string ShelfLifeIndicatorField;
        [OptionalField]
        private int ShelfLifeOnReceivingField;
        [OptionalField]
        private string SkuClassIDField;
        [OptionalField]
        private string SkuColorField;
        [OptionalField]
        private string SkuGroup2Field;
        [OptionalField]
        private string SkuGroupField;
        [OptionalField]
        private string SkuIDField;
        [OptionalField]
        private string SkuSizeField;
        [OptionalField]
        private string SkuStyleField;
        [OptionalField]
        private float StdOrderCostField;
        [OptionalField]
        private List<SubstituteSkuInfo> SubstituteSkuInfosField;
        [OptionalField]
        private float TareWgtField;
        [OptionalField]
        private string TariffIDField;
        [OptionalField]
        private string TransportModeField;
        [OptionalField]
        private byte[] TsField;
        [OptionalField]
        private string Udf10Field;
        [OptionalField]
        private string Udf1Field;
        [OptionalField]
        private string Udf2Field;
        [OptionalField]
        private string Udf3Field;
        [OptionalField]
        private string Udf4Field;
        [OptionalField]
        private string Udf5Field;
        [OptionalField]
        private string Udf6Field;
        [OptionalField]
        private string Udf7Field;
        [OptionalField]
        private string Udf8Field;
        [OptionalField]
        private string Udf9Field;
        [OptionalField]
        private string UpdatedByField;
        [OptionalField]
        private DateTime UpdatedDateField;
        [OptionalField]
        private string WhIDField;
        [OptionalField]
        private float WidthField;
        [OptionalField]
        private string ZoneIDField;

        public event PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if (propertyChanged != null)
            {
                propertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        [DataMember]
        public string Abc
        {
            get
            {
                return this.AbcField;
            }
            set
            {
                if (!object.ReferenceEquals(this.AbcField, value))
                {
                    this.AbcField = value;
                    this.RaisePropertyChanged("Abc");
                }
            }
        }

        [DataMember]
        public string AllocateRuleID
        {
            get
            {
                return this.AllocateRuleIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.AllocateRuleIDField, value))
                {
                    this.AllocateRuleIDField = value;
                    this.RaisePropertyChanged("AllocateRuleID");
                }
            }
        }

        [DataMember]
        public List<AlternateSkuInfo> AlternateSkuInfos
        {
            get
            {
                return this.AlternateSkuInfosField;
            }
            set
            {
                if (!object.ReferenceEquals(this.AlternateSkuInfosField, value))
                {
                    this.AlternateSkuInfosField = value;
                    this.RaisePropertyChanged("AlternateSkuInfos");
                }
            }
        }

        [DataMember]
        public string BUdf1
        {
            get
            {
                return this.BUdf1Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.BUdf1Field, value))
                {
                    this.BUdf1Field = value;
                    this.RaisePropertyChanged("BUdf1");
                }
            }
        }

        [DataMember]
        public string BUdf10
        {
            get
            {
                return this.BUdf10Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.BUdf10Field, value))
                {
                    this.BUdf10Field = value;
                    this.RaisePropertyChanged("BUdf10");
                }
            }
        }

        [DataMember]
        public string BUdf2
        {
            get
            {
                return this.BUdf2Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.BUdf2Field, value))
                {
                    this.BUdf2Field = value;
                    this.RaisePropertyChanged("BUdf2");
                }
            }
        }

        [DataMember]
        public string BUdf3
        {
            get
            {
                return this.BUdf3Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.BUdf3Field, value))
                {
                    this.BUdf3Field = value;
                    this.RaisePropertyChanged("BUdf3");
                }
            }
        }

        [DataMember]
        public string BUdf4
        {
            get
            {
                return this.BUdf4Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.BUdf4Field, value))
                {
                    this.BUdf4Field = value;
                    this.RaisePropertyChanged("BUdf4");
                }
            }
        }

        [DataMember]
        public string BUdf5
        {
            get
            {
                return this.BUdf5Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.BUdf5Field, value))
                {
                    this.BUdf5Field = value;
                    this.RaisePropertyChanged("BUdf5");
                }
            }
        }

        [DataMember]
        public string BUdf6
        {
            get
            {
                return this.BUdf6Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.BUdf6Field, value))
                {
                    this.BUdf6Field = value;
                    this.RaisePropertyChanged("BUdf6");
                }
            }
        }

        [DataMember]
        public string BUdf7
        {
            get
            {
                return this.BUdf7Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.BUdf7Field, value))
                {
                    this.BUdf7Field = value;
                    this.RaisePropertyChanged("BUdf7");
                }
            }
        }

        [DataMember]
        public string BUdf8
        {
            get
            {
                return this.BUdf8Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.BUdf8Field, value))
                {
                    this.BUdf8Field = value;
                    this.RaisePropertyChanged("BUdf8");
                }
            }
        }

        [DataMember]
        public string BUdf9
        {
            get
            {
                return this.BUdf9Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.BUdf9Field, value))
                {
                    this.BUdf9Field = value;
                    this.RaisePropertyChanged("BUdf9");
                }
            }
        }

        [DataMember]
        public string CalculatePutawayLocation
        {
            get
            {
                return this.CalculatePutawayLocationField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CalculatePutawayLocationField, value))
                {
                    this.CalculatePutawayLocationField = value;
                    this.RaisePropertyChanged("CalculatePutawayLocation");
                }
            }
        }

        [DataMember]
        public float CarryCost
        {
            get
            {
                return this.CarryCostField;
            }
            set
            {
                if (!this.CarryCostField.Equals(value))
                {
                    this.CarryCostField = value;
                    this.RaisePropertyChanged("CarryCost");
                }
            }
        }

        [DataMember]
        public string CartonGroup
        {
            get
            {
                return this.CartonGroupField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CartonGroupField, value))
                {
                    this.CartonGroupField = value;
                    this.RaisePropertyChanged("CartonGroup");
                }
            }
        }

        [DataMember]
        public string CcDiscrepanCyrule
        {
            get
            {
                return this.CcDiscrepanCyruleField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CcDiscrepanCyruleField, value))
                {
                    this.CcDiscrepanCyruleField = value;
                    this.RaisePropertyChanged("CcDiscrepanCyrule");
                }
            }
        }

        [DataMember]
        public decimal CostPrice
        {
            get
            {
                return this.CostPriceField;
            }
            set
            {
                if (!this.CostPriceField.Equals(value))
                {
                    this.CostPriceField = value;
                    this.RaisePropertyChanged("CostPrice");
                }
            }
        }

        [DataMember]
        public string CountryOfOrigin
        {
            get
            {
                return this.CountryOfOriginField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CountryOfOriginField, value))
                {
                    this.CountryOfOriginField = value;
                    this.RaisePropertyChanged("CountryOfOrigin");
                }
            }
        }

        [DataMember]
        public string CreatedBy
        {
            get
            {
                return this.CreatedByField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CreatedByField, value))
                {
                    this.CreatedByField = value;
                    this.RaisePropertyChanged("CreatedBy");
                }
            }
        }

        [DataMember]
        public DateTime CreatedDate
        {
            get
            {
                return this.CreatedDateField;
            }
            set
            {
                if (!this.CreatedDateField.Equals(value))
                {
                    this.CreatedDateField = value;
                    this.RaisePropertyChanged("CreatedDate");
                }
            }
        }

        [DataMember]
        public float Cube
        {
            get
            {
                return this.CubeField;
            }
            set
            {
                if (!this.CubeField.Equals(value))
                {
                    this.CubeField = value;
                    this.RaisePropertyChanged("Cube");
                }
            }
        }

        [DataMember]
        public string CustomSkuNo
        {
            get
            {
                return this.CustomSkuNoField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CustomSkuNoField, value))
                {
                    this.CustomSkuNoField = value;
                    this.RaisePropertyChanged("CustomSkuNo");
                }
            }
        }

        [DataMember]
        public int CycleCountFrequency
        {
            get
            {
                return this.CycleCountFrequencyField;
            }
            set
            {
                if (!this.CycleCountFrequencyField.Equals(value))
                {
                    this.CycleCountFrequencyField = value;
                    this.RaisePropertyChanged("CycleCountFrequency");
                }
            }
        }

        [DataMember]
        public int DaysToExpire
        {
            get
            {
                return this.DaysToExpireField;
            }
            set
            {
                if (!this.DaysToExpireField.Equals(value))
                {
                    this.DaysToExpireField = value;
                    this.RaisePropertyChanged("DaysToExpire");
                }
            }
        }

        [DataMember]
        public string DefaultInUom
        {
            get
            {
                return this.DefaultInUomField;
            }
            set
            {
                if (!object.ReferenceEquals(this.DefaultInUomField, value))
                {
                    this.DefaultInUomField = value;
                    this.RaisePropertyChanged("DefaultInUom");
                }
            }
        }

        [DataMember]
        public string DefaultOutUom
        {
            get
            {
                return this.DefaultOutUomField;
            }
            set
            {
                if (!object.ReferenceEquals(this.DefaultOutUomField, value))
                {
                    this.DefaultOutUomField = value;
                    this.RaisePropertyChanged("DefaultOutUom");
                }
            }
        }

        [DataMember]
        public string Descr
        {
            get
            {
                return this.DescrField;
            }
            set
            {
                if (!object.ReferenceEquals(this.DescrField, value))
                {
                    this.DescrField = value;
                    this.RaisePropertyChanged("Descr");
                }
            }
        }

        [DataMember]
        public string Descr2
        {
            get
            {
                return this.Descr2Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Descr2Field, value))
                {
                    this.Descr2Field = value;
                    this.RaisePropertyChanged("Descr2");
                }
            }
        }

        [Browsable(false)]
        public ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [DataMember]
        public string FreightClass
        {
            get
            {
                return this.FreightClassField;
            }
            set
            {
                if (!object.ReferenceEquals(this.FreightClassField, value))
                {
                    this.FreightClassField = value;
                    this.RaisePropertyChanged("FreightClass");
                }
            }
        }

        [DataMember]
        public float GrossWgt
        {
            get
            {
                return this.GrossWgtField;
            }
            set
            {
                if (!this.GrossWgtField.Equals(value))
                {
                    this.GrossWgtField = value;
                    this.RaisePropertyChanged("GrossWgt");
                }
            }
        }

        [DataMember]
        public string HazmatCode
        {
            get
            {
                return this.HazmatCodeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.HazmatCodeField, value))
                {
                    this.HazmatCodeField = value;
                    this.RaisePropertyChanged("HazmatCode");
                }
            }
        }

        [DataMember]
        public float Height
        {
            get
            {
                return this.HeightField;
            }
            set
            {
                if (!this.HeightField.Equals(value))
                {
                    this.HeightField = value;
                    this.RaisePropertyChanged("Height");
                }
            }
        }

        [DataMember]
        public List<InvSkuLocInfo> InvSkuLocInfos
        {
            get
            {
                return this.InvSkuLocInfosField;
            }
            set
            {
                if (!object.ReferenceEquals(this.InvSkuLocInfosField, value))
                {
                    this.InvSkuLocInfosField = value;
                    this.RaisePropertyChanged("InvSkuLocInfos");
                }
            }
        }

        [DataMember]
        public string IsActive
        {
            get
            {
                return this.IsActiveField;
            }
            set
            {
                if (!object.ReferenceEquals(this.IsActiveField, value))
                {
                    this.IsActiveField = value;
                    this.RaisePropertyChanged("IsActive");
                }
            }
        }

        [DataMember]
        public string IsSalePromption
        {
            get
            {
                return this.IsSalePromptionField;
            }
            set
            {
                if (!object.ReferenceEquals(this.IsSalePromptionField, value))
                {
                    this.IsSalePromptionField = value;
                    this.RaisePropertyChanged("IsSalePromption");
                }
            }
        }

        [DataMember]
        public DateTime LastCycleCount
        {
            get
            {
                return this.LastCycleCountField;
            }
            set
            {
                if (!this.LastCycleCountField.Equals(value))
                {
                    this.LastCycleCountField = value;
                    this.RaisePropertyChanged("LastCycleCount");
                }
            }
        }

        [DataMember]
        public float Length
        {
            get
            {
                return this.LengthField;
            }
            set
            {
                if (!this.LengthField.Equals(value))
                {
                    this.LengthField = value;
                    this.RaisePropertyChanged("Length");
                }
            }
        }

        [DataMember]
        public string LotTemplateID
        {
            get
            {
                return this.LotTemplateIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LotTemplateIDField, value))
                {
                    this.LotTemplateIDField = value;
                    this.RaisePropertyChanged("LotTemplateID");
                }
            }
        }

        [DataMember]
        public decimal MaxQty
        {
            get
            {
                return this.MaxQtyField;
            }
            set
            {
                if (!this.MaxQtyField.Equals(value))
                {
                    this.MaxQtyField = value;
                    this.RaisePropertyChanged("MaxQty");
                }
            }
        }

        [DataMember]
        public decimal MinQty
        {
            get
            {
                return this.MinQtyField;
            }
            set
            {
                if (!this.MinQtyField.Equals(value))
                {
                    this.MinQtyField = value;
                    this.RaisePropertyChanged("MinQty");
                }
            }
        }

        [DataMember]
        public decimal NetPrice
        {
            get
            {
                return this.NetPriceField;
            }
            set
            {
                if (!this.NetPriceField.Equals(value))
                {
                    this.NetPriceField = value;
                    this.RaisePropertyChanged("NetPrice");
                }
            }
        }

        [DataMember]
        public float NetWgt
        {
            get
            {
                return this.NetWgtField;
            }
            set
            {
                if (!this.NetWgtField.Equals(value))
                {
                    this.NetWgtField = value;
                    this.RaisePropertyChanged("NetWgt");
                }
            }
        }

        [DataMember]
        public string OwnerID
        {
            get
            {
                return this.OwnerIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.OwnerIDField, value))
                {
                    this.OwnerIDField = value;
                    this.RaisePropertyChanged("OwnerID");
                }
            }
        }

        [DataMember]
        public string PackID
        {
            get
            {
                return this.PackIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.PackIDField, value))
                {
                    this.PackIDField = value;
                    this.RaisePropertyChanged("PackID");
                }
            }
        }

        [DataMember]
        public string PreallocateRuleID
        {
            get
            {
                return this.PreallocateRuleIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.PreallocateRuleIDField, value))
                {
                    this.PreallocateRuleIDField = value;
                    this.RaisePropertyChanged("PreallocateRuleID");
                }
            }
        }

        [DataMember]
        public string PutawayLoc
        {
            get
            {
                return this.PutawayLocField;
            }
            set
            {
                if (!object.ReferenceEquals(this.PutawayLocField, value))
                {
                    this.PutawayLocField = value;
                    this.RaisePropertyChanged("PutawayLoc");
                }
            }
        }

        [DataMember]
        public string PutawayRuleID
        {
            get
            {
                return this.PutawayRuleIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.PutawayRuleIDField, value))
                {
                    this.PutawayRuleIDField = value;
                    this.RaisePropertyChanged("PutawayRuleID");
                }
            }
        }

        [DataMember]
        public string QcLoc
        {
            get
            {
                return this.QcLocField;
            }
            set
            {
                if (!object.ReferenceEquals(this.QcLocField, value))
                {
                    this.QcLocField = value;
                    this.RaisePropertyChanged("QcLoc");
                }
            }
        }

        [DataMember]
        public string QcLocOut
        {
            get
            {
                return this.QcLocOutField;
            }
            set
            {
                if (!object.ReferenceEquals(this.QcLocOutField, value))
                {
                    this.QcLocOutField = value;
                    this.RaisePropertyChanged("QcLocOut");
                }
            }
        }

        [DataMember]
        public string ReceiptInspectionLoc
        {
            get
            {
                return this.ReceiptInspectionLocField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ReceiptInspectionLocField, value))
                {
                    this.ReceiptInspectionLocField = value;
                    this.RaisePropertyChanged("ReceiptInspectionLoc");
                }
            }
        }

        [DataMember]
        public string ReceiptValidationID
        {
            get
            {
                return this.ReceiptValidationIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ReceiptValidationIDField, value))
                {
                    this.ReceiptValidationIDField = value;
                    this.RaisePropertyChanged("ReceiptValidationID");
                }
            }
        }

        [DataMember]
        public string ReceiptValidationTemplate
        {
            get
            {
                return this.ReceiptValidationTemplateField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ReceiptValidationTemplateField, value))
                {
                    this.ReceiptValidationTemplateField = value;
                    this.RaisePropertyChanged("ReceiptValidationTemplate");
                }
            }
        }

        [DataMember]
        public string Remark1
        {
            get
            {
                return this.Remark1Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Remark1Field, value))
                {
                    this.Remark1Field = value;
                    this.RaisePropertyChanged("Remark1");
                }
            }
        }

        [DataMember]
        public string Remark2
        {
            get
            {
                return this.Remark2Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Remark2Field, value))
                {
                    this.Remark2Field = value;
                    this.RaisePropertyChanged("Remark2");
                }
            }
        }

        [DataMember]
        public int ReorderPoint
        {
            get
            {
                return this.ReorderPointField;
            }
            set
            {
                if (!this.ReorderPointField.Equals(value))
                {
                    this.ReorderPointField = value;
                    this.RaisePropertyChanged("ReorderPoint");
                }
            }
        }

        [DataMember]
        public decimal ReorderQty
        {
            get
            {
                return this.ReorderQtyField;
            }
            set
            {
                if (!this.ReorderQtyField.Equals(value))
                {
                    this.ReorderQtyField = value;
                    this.RaisePropertyChanged("ReorderQty");
                }
            }
        }

        [DataMember]
        public string ReturnsLoc
        {
            get
            {
                return this.ReturnsLocField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ReturnsLocField, value))
                {
                    this.ReturnsLocField = value;
                    this.RaisePropertyChanged("ReturnsLoc");
                }
            }
        }

        [DataMember]
        public string RfDefaultPack
        {
            get
            {
                return this.RfDefaultPackField;
            }
            set
            {
                if (!object.ReferenceEquals(this.RfDefaultPackField, value))
                {
                    this.RfDefaultPackField = value;
                    this.RaisePropertyChanged("RfDefaultPack");
                }
            }
        }

        [DataMember]
        public string RotationRuleID
        {
            get
            {
                return this.RotationRuleIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.RotationRuleIDField, value))
                {
                    this.RotationRuleIDField = value;
                    this.RaisePropertyChanged("RotationRuleID");
                }
            }
        }

        [DataMember]
        public int RowID
        {
            get
            {
                return this.RowIDField;
            }
            set
            {
                if (!this.RowIDField.Equals(value))
                {
                    this.RowIDField = value;
                    this.RaisePropertyChanged("RowID");
                }
            }
        }

        [DataMember]
        public decimal SalePrice
        {
            get
            {
                return this.SalePriceField;
            }
            set
            {
                if (!this.SalePriceField.Equals(value))
                {
                    this.SalePriceField = value;
                    this.RaisePropertyChanged("SalePrice");
                }
            }
        }

        [DataMember]
        public int ShelfLife
        {
            get
            {
                return this.ShelfLifeField;
            }
            set
            {
                if (!this.ShelfLifeField.Equals(value))
                {
                    this.ShelfLifeField = value;
                    this.RaisePropertyChanged("ShelfLife");
                }
            }
        }

        [DataMember]
        public string ShelfLifeCodeType
        {
            get
            {
                return this.ShelfLifeCodeTypeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ShelfLifeCodeTypeField, value))
                {
                    this.ShelfLifeCodeTypeField = value;
                    this.RaisePropertyChanged("ShelfLifeCodeType");
                }
            }
        }

        [DataMember]
        public string ShelfLifeIndicator
        {
            get
            {
                return this.ShelfLifeIndicatorField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ShelfLifeIndicatorField, value))
                {
                    this.ShelfLifeIndicatorField = value;
                    this.RaisePropertyChanged("ShelfLifeIndicator");
                }
            }
        }

        [DataMember]
        public int ShelfLifeOnReceiving
        {
            get
            {
                return this.ShelfLifeOnReceivingField;
            }
            set
            {
                if (!this.ShelfLifeOnReceivingField.Equals(value))
                {
                    this.ShelfLifeOnReceivingField = value;
                    this.RaisePropertyChanged("ShelfLifeOnReceiving");
                }
            }
        }

        [DataMember]
        public string SkuClassID
        {
            get
            {
                return this.SkuClassIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SkuClassIDField, value))
                {
                    this.SkuClassIDField = value;
                    this.RaisePropertyChanged("SkuClassID");
                }
            }
        }

        [DataMember]
        public string SkuColor
        {
            get
            {
                return this.SkuColorField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SkuColorField, value))
                {
                    this.SkuColorField = value;
                    this.RaisePropertyChanged("SkuColor");
                }
            }
        }

        [DataMember]
        public string SkuGroup
        {
            get
            {
                return this.SkuGroupField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SkuGroupField, value))
                {
                    this.SkuGroupField = value;
                    this.RaisePropertyChanged("SkuGroup");
                }
            }
        }

        [DataMember]
        public string SkuGroup2
        {
            get
            {
                return this.SkuGroup2Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.SkuGroup2Field, value))
                {
                    this.SkuGroup2Field = value;
                    this.RaisePropertyChanged("SkuGroup2");
                }
            }
        }

        [DataMember]
        public string SkuID
        {
            get
            {
                return this.SkuIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SkuIDField, value))
                {
                    this.SkuIDField = value;
                    this.RaisePropertyChanged("SkuID");
                }
            }
        }

        [DataMember]
        public string SkuSize
        {
            get
            {
                return this.SkuSizeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SkuSizeField, value))
                {
                    this.SkuSizeField = value;
                    this.RaisePropertyChanged("SkuSize");
                }
            }
        }

        [DataMember]
        public string SkuStyle
        {
            get
            {
                return this.SkuStyleField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SkuStyleField, value))
                {
                    this.SkuStyleField = value;
                    this.RaisePropertyChanged("SkuStyle");
                }
            }
        }

        [DataMember]
        public float StdOrderCost
        {
            get
            {
                return this.StdOrderCostField;
            }
            set
            {
                if (!this.StdOrderCostField.Equals(value))
                {
                    this.StdOrderCostField = value;
                    this.RaisePropertyChanged("StdOrderCost");
                }
            }
        }

        [DataMember]
        public List<SubstituteSkuInfo> SubstituteSkuInfos
        {
            get
            {
                return this.SubstituteSkuInfosField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SubstituteSkuInfosField, value))
                {
                    this.SubstituteSkuInfosField = value;
                    this.RaisePropertyChanged("SubstituteSkuInfos");
                }
            }
        }

        [DataMember]
        public float TareWgt
        {
            get
            {
                return this.TareWgtField;
            }
            set
            {
                if (!this.TareWgtField.Equals(value))
                {
                    this.TareWgtField = value;
                    this.RaisePropertyChanged("TareWgt");
                }
            }
        }

        [DataMember]
        public string TariffID
        {
            get
            {
                return this.TariffIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.TariffIDField, value))
                {
                    this.TariffIDField = value;
                    this.RaisePropertyChanged("TariffID");
                }
            }
        }

        [DataMember]
        public string TransportMode
        {
            get
            {
                return this.TransportModeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.TransportModeField, value))
                {
                    this.TransportModeField = value;
                    this.RaisePropertyChanged("TransportMode");
                }
            }
        }

        [DataMember]
        public byte[] Ts
        {
            get
            {
                return this.TsField;
            }
            set
            {
                if (!object.ReferenceEquals(this.TsField, value))
                {
                    this.TsField = value;
                    this.RaisePropertyChanged("Ts");
                }
            }
        }

        [DataMember]
        public string Udf1
        {
            get
            {
                return this.Udf1Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Udf1Field, value))
                {
                    this.Udf1Field = value;
                    this.RaisePropertyChanged("Udf1");
                }
            }
        }

        [DataMember]
        public string Udf10
        {
            get
            {
                return this.Udf10Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Udf10Field, value))
                {
                    this.Udf10Field = value;
                    this.RaisePropertyChanged("Udf10");
                }
            }
        }

        [DataMember]
        public string Udf2
        {
            get
            {
                return this.Udf2Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Udf2Field, value))
                {
                    this.Udf2Field = value;
                    this.RaisePropertyChanged("Udf2");
                }
            }
        }

        [DataMember]
        public string Udf3
        {
            get
            {
                return this.Udf3Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Udf3Field, value))
                {
                    this.Udf3Field = value;
                    this.RaisePropertyChanged("Udf3");
                }
            }
        }

        [DataMember]
        public string Udf4
        {
            get
            {
                return this.Udf4Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Udf4Field, value))
                {
                    this.Udf4Field = value;
                    this.RaisePropertyChanged("Udf4");
                }
            }
        }

        [DataMember]
        public string Udf5
        {
            get
            {
                return this.Udf5Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Udf5Field, value))
                {
                    this.Udf5Field = value;
                    this.RaisePropertyChanged("Udf5");
                }
            }
        }

        [DataMember]
        public string Udf6
        {
            get
            {
                return this.Udf6Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Udf6Field, value))
                {
                    this.Udf6Field = value;
                    this.RaisePropertyChanged("Udf6");
                }
            }
        }

        [DataMember]
        public string Udf7
        {
            get
            {
                return this.Udf7Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Udf7Field, value))
                {
                    this.Udf7Field = value;
                    this.RaisePropertyChanged("Udf7");
                }
            }
        }

        [DataMember]
        public string Udf8
        {
            get
            {
                return this.Udf8Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Udf8Field, value))
                {
                    this.Udf8Field = value;
                    this.RaisePropertyChanged("Udf8");
                }
            }
        }

        [DataMember]
        public string Udf9
        {
            get
            {
                return this.Udf9Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.Udf9Field, value))
                {
                    this.Udf9Field = value;
                    this.RaisePropertyChanged("Udf9");
                }
            }
        }

        [DataMember]
        public string UpdatedBy
        {
            get
            {
                return this.UpdatedByField;
            }
            set
            {
                if (!object.ReferenceEquals(this.UpdatedByField, value))
                {
                    this.UpdatedByField = value;
                    this.RaisePropertyChanged("UpdatedBy");
                }
            }
        }

        [DataMember]
        public DateTime UpdatedDate
        {
            get
            {
                return this.UpdatedDateField;
            }
            set
            {
                if (!this.UpdatedDateField.Equals(value))
                {
                    this.UpdatedDateField = value;
                    this.RaisePropertyChanged("UpdatedDate");
                }
            }
        }

        [DataMember]
        public string WhID
        {
            get
            {
                return this.WhIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.WhIDField, value))
                {
                    this.WhIDField = value;
                    this.RaisePropertyChanged("WhID");
                }
            }
        }

        [DataMember]
        public float Width
        {
            get
            {
                return this.WidthField;
            }
            set
            {
                if (!this.WidthField.Equals(value))
                {
                    this.WidthField = value;
                    this.RaisePropertyChanged("Width");
                }
            }
        }

        [DataMember]
        public string ZoneID
        {
            get
            {
                return this.ZoneIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ZoneIDField, value))
                {
                    this.ZoneIDField = value;
                    this.RaisePropertyChanged("ZoneID");
                }
            }
        }
    }
}

